package com.city.java.users.mapper;

import com.city.java.users.pojo.entity.Users;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper {
    /**
     * 插入新用户
     * @param user 用户对象
     * @return 影响行数
     */
    int insertUser(Users user);

    /**
     * 根据用户ID查询用户
     * @param userId 用户ID
     * @return 用户对象
     */
    Users selectById(@Param("userId") Long userId);

    /**
     * 根据用户名查询用户
     * @param username 用户名
     * @return 用户对象
     */
    Users selectByName(@Param("username") String username);

    List<Users> select(Users users);

    Long getTotalPage(Users users);

    /**
     * 根据用户ID更新用户信息
     * @param user 用户对象
     * @return 影响行数
     */
    int updateById(Users user);

    /**
     * 根据用户ID删除用户
     * @param userId 用户ID
     * @return 影响行数
     */
    int deleteById(@Param("userId") Long userId);

    /**
     * 根据用户名删除用户
     * @param username 用户名
     * @return 影响行数
     */
    int deleteByName(@Param("username") String username);

    Users login(Users users);
}
